Eager Class Initialization for Java
نویسندگان
چکیده
We describe a static analysis method on Java bytecode to determine class initialization dependencies This method can be used for eager class loading and initialization It catches many initialization circularities that are missed by the standard lazy implementation Except for contrived examples the computed initialization order gives the same results as standard lazy initialization
منابع مشابه
Initialization problems for Java
We exhibit a grey area in the speciication of Java and of its implementation through the Java Virtual Machine (JVM): the treatment of initialization of classes and interfaces. We report the result of our experiments with diierent implementations of Java, which connrm the theoretical prediction of our work on mathematical models for Java 4] and the JVM 3], namely that the designers of Java and t...
متن کاملModel-driven Transformation-based Generation of Java Stress Tests
This paper describes a practical application of transformation-based analysis and code generation. An overview is given of an approach for automatically constructing Java stress tests whose execution exercises all “interesting” class initialization sequence possibilities for a given class hierarchy.
متن کاملUSENIX Association Proceedings of the Java TM Virtual Machine Research
For the application of Java in realtime and safety critical domains, an analysis of the worst-case execution times of primitive Java operations is necessary. All primitive operations must either execute in constant time or have a reasonable upper bound for their execution time. The difficulties that arise for a Java virtual machine and a Java compiler in this context will be presented here. Thi...
متن کاملDeterministic Execution of Java's Primitive Bytecode Operations
For the application of Java in realtime and safety critical domains, an analysis of the worst-case execution times of primitive Java operations is necessary. All primitive operations must either execute in constant time or have a reasonable upper bound for their execution time. The difficulties that arise for a Java virtual machine and a Java compiler in this context will be presented here. Thi...
متن کاملLinking and Loading in a Persistent Dsm Operating System
Our native Java compiler directly generates runtime structures in a persistent Distributed Shared Memory (DSM). The compiler has been used to build a general purpose PC Operating System (OS) on top of a persistent DSM memory. The persistent DSM operating environment lends itself naturally to an integration of symbol tables, class descriptors and naming during Java program compilation and execut...
متن کامل